cmake_minimum_required(VERSION 3.15)
project(modern_cpp_example VERSION 1.0.0 LANGUAGES CXX)

# Set C++ standard
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

# Configure library version
set(CONTAINER_LIB_VERSION_MAJOR 1)
set(CONTAINER_LIB_VERSION_MINOR 0)
set(CONTAINER_LIB_VERSION_PATCH 0)
set(CONTAINER_LIB_VERSION ${CONTAINER_LIB_VERSION_MAJOR}.${CONTAINER_LIB_VERSION_MINOR}.${CONTAINER_LIB_VERSION_PATCH})

# Add subdirectories
add_subdirectory(lib)
add_subdirectory(src)

# Enable testing
include(CTest)
enable_testing()
add_subdirectory(test)